package com.relytosoft.mizar.media.analyze.services.service.behavior;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.relytosoft.dubhe.common.core.base.page.PageQuery;
import com.relytosoft.mizar.media.analyze.api.entity.behavior.AyLaneWithRegion;
import com.relytosoft.mizar.media.analyze.api.pojo.dto.AyLaneWithRegionParentDto;
import com.relytosoft.mizar.media.analyze.api.pojo.vo.AyLaneWithRegionVo;

import java.util.List;

/**
 * @author lj
 * @date 2022/6/7 10:26
 */
public interface AyLaneWithRegionService extends IService<AyLaneWithRegion> {
    /**
     * 分页条件查询设备监控区域范围
     *
     * @param pageQuery        分页对象
     * @param ayLaneWithRegion 查询条件
     * @return 分页结果
     */
    IPage<AyLaneWithRegion> selectAyLaneWithRegionPageList(PageQuery pageQuery, AyLaneWithRegion ayLaneWithRegion);


    /**
     * 添加设备监测区域范围
     *
     * @param ayLaneWithRegionParentDto 监测区域范围列表
     * @return 是否添加成功
     */
    boolean addAyLaneWithRegion(AyLaneWithRegionParentDto ayLaneWithRegionParentDto);


    /**
     * 根据设备id查询设备标注框
     *
     * @param deviceId 设备id
     * @return 设备标注框
     */
    List<AyLaneWithRegionVo> getByDeviceId(String deviceId);

    /**
     * 根据设备cameraId，algorithmid和subtype获取区域参数
     *
     * @param cameraId 设备ID
     * @param subType  事件ID
     * @return 区域参数
     */
    JSONArray getByCameraIdAndAlgorithmIdAndSubType(String cameraId, String subType);

}